<template>
  <el-dialog
      v-model="dialogVisible"
      title="服务协议与隐私政策"
      width="70%"
      :before-close="handleClose"
  >
    <!-- 内容保持不变 -->
    <div class="terms-content">
      <h2>用户服务协议</h2>
      <p><strong>生效日期：</strong>{{ terms.effectiveDate || '2025年4月5日' }}</p>
      <p>欢迎使用本智慧养老服务平台（以下简称"平台"）。请您在注册前仔细阅读以下服务条款。</p>

      <h3>1. 使用范围</h3>
      <p>{{ terms.scope || '本平台服务于老年人及其家属、养老服务机构及工作人员，提供包括但不限于健康监测、生活照料、紧急呼叫等智能养老服务。' }}</p>

      <h3>2. 用户义务</h3>
      <ul>
        <li v-for="(duty, index) in terms.userDuties" :key="'duty'+index">{{ duty }}</li>
      </ul>

      <h3>3. 平台责任</h3>
      <ul>
        <li v-for="(responsibility, index) in terms.platformResponsibilities" :key="'resp'+index">{{ responsibility }}</li>
      </ul>

      <h3>4. 知识产权</h3>
      <p>{{ terms.intellectualProperty || '本平台所有内容、设计、图标、文字等均受知识产权保护，未经授权不得用于商业用途。' }}</p>

      <hr />

      <h2>隐私政策</h2>
      <p><strong>更新时间：</strong>{{ terms.updateDate || '2025年4月5日' }}</p>
      <p>{{ terms.privacyIntro || '我们非常重视您的隐私保护。本隐私政策说明了我们如何收集、使用和保护您的个人信息。' }}</p>

      <h3>1. 信息收集</h3>
      <p>{{ terms.collectionInfo || '我们可能收集以下信息：' }}</p>
      <ul>
        <li v-for="(info, index) in terms.collectedData" :key="'info'+index">{{ info }}</li>
      </ul>

      <h3>2. 信息使用目的</h3>
      <ul>
        <li v-for="(purpose, index) in terms.usePurposes" :key="'purpose'+index">{{ purpose }}</li>
      </ul>

      <h3>3. 数据共享</h3>
      <p>{{ terms.dataSharing || '我们不会向第三方出售您的个人信息。除非法律法规另有规定或获得您的授权，我们仅在必要范围内与合作方共享数据。' }}</p>

      <h3>4. 数据安全</h3>
      <p>{{ terms.dataSecurity || '我们采用行业标准的安全措施保护您的信息，防止未经授权的访问、泄露、篡改或销毁。' }}</p>

      <h3>5. 您的权利</h3>
      <p>{{ terms.userRights || '您可以查看、更正、删除您的个人信息，并可随时撤回同意。请通过【设置】-【隐私设置】进行操作。' }}</p>

      <h3>6. 联系方式</h3>
      <p>{{ terms.contactInfo || '如有任何关于隐私的疑问，请联系客服邮箱：' }}<a href="mailto:support@elderlycare.com">support@elderlycare.com</a></p>
    </div>
    <span slot="footer" class="dialog-footer">
      <el-button type="primary" @click="closeDialog">我已阅读并接受</el-button>
    </span>
  </el-dialog>
</template>

<script>
export default {
  name: "TermsDialog",
  props: {
    visible: {
      type: Boolean,
      required: true
    }
  },
  computed: {
    dialogVisible: {
      get() {
        return this.visible;
      },
      set(value) {
        this.$emit('update:modelValue', value);
      }
    }
  },
  // 其他部分保持不变...
  data() {
    return {
      terms: {
        effectiveDate: "",
        scope: "",
        userDuties: [],
        platformResponsibilities: [],
        intellectualProperty: "",
        updateDate: "",
        privacyIntro: "",
        collectedData: [],
        usePurposes: [],
        dataSharing: "",
        dataSecurity: "",
        userRights: "",
        contactInfo: ""
      }
    };
  },
  mounted() {
    this.loadTerms();
  },
  methods: {
    async loadTerms() {
      try {
        // 这里可以替换为从后端获取服务协议内容的API调用
        // const response = await fetch('/api/terms');
        // const data = await response.json();
        // this.terms = data;

        // 暂时使用默认内容
        this.terms = {
          effectiveDate: "2025年4月5日",
          scope: "本平台服务于老年人及其家属、养老服务机构及工作人员，提供包括但不限于健康监测、生活照料、紧急呼叫等智能养老服务。",
          userDuties: [
            "您承诺提供的所有信息真实、准确、完整。",
            "不得利用平台进行任何违法或不道德的行为。",
            "遵守平台的相关规则和操作指引。"
          ],
          platformResponsibilities: [
            "平台将尽最大努力保障服务的连续性和稳定性。",
            "平台不承担因不可抗力导致的服务中断责任。",
            "平台保留随时修改服务条款的权利。"
          ],
          intellectualProperty: "本平台所有内容、设计、图标、文字等均受知识产权保护，未经授权不得用于商业用途。",
          updateDate: "2025年4月5日",
          privacyIntro: "我们非常重视您的隐私保护。本隐私政策说明了我们如何收集、使用和保护您的个人信息。",
          collectedData: [
            "姓名、联系方式、身份证号等基本信息",
            "健康数据（如血压、心率等）",
            "设备使用记录和位置信息（如适用）"
          ],
          usePurposes: [
            "为您提供个性化的养老服务",
            "进行身份验证、账户管理",
            "优化产品体验并确保系统安全"
          ],
          dataSharing: "我们不会向第三方出售您的个人信息。除非法律法规另有规定或获得您的授权，我们仅在必要范围内与合作方共享数据。",
          dataSecurity: "我们采用行业标准的安全措施保护您的信息，防止未经授权的访问、泄露、篡改或销毁。",
          userRights: "您可以查看、更正、删除您的个人信息，并可随时撤回同意。请通过【设置】-【隐私设置】进行操作。",
          contactInfo: "如有任何关于隐私的疑问，请联系客服邮箱："
        };
      } catch (error) {
        console.error("获取服务协议失败", error);
        this.$message.error("加载服务协议失败，请稍后再试");
      }
    },
    closeDialog() {
      this.$emit('agree');
      this.dialogVisible = false; // 关键修复：实际关闭对话框
    },
    handleClose(done) {
      this.$confirm('您确定要关闭服务协议吗？', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        done();
      }).catch(() => {});
    }
  }
};
</script>


<style scoped>
.terms-content {
  max-height: 60vh;
  overflow-y: auto;
  padding: 0 20px;
}

.terms-content h2 {
  font-size: 20px;
  color: #333;
  margin-top: 20px;
}

.terms-content h3 {
  font-size: 16px;
  color: #555;
  margin-top: 15px;
}

.terms-content p,
.terms-content li {
  font-size: 14px;
  line-height: 1.6;
  color: #666;
  margin-bottom: 10px;
}

.terms-content ul {
  list-style-type: disc;
  margin-left: 20px;
}

.dialog-footer {
  text-align: center;
  padding: 20px 0;
}
</style>
